SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
CREATE Procedure [dbo].[SP_TDMOVI_RECA_D01]
/*-------------------------------------------------------*/
/*---Empresa              : OFISIS S.A.                --*/
/*---Cliente              : CASSINELLI                 --*/
/*---Sistema              : Tesoreria                  --*/
/*---M«dulo               : Empresa                    --*/
/*---Programa             : Eliminaci½n Transferencia  --*/
/*---                       entre Bancos (Detalle)     --*/
/*---Script               : tcmovi_b.sql               --*/
/*---Nombre SP            : SP_TDMOVI_RECA_I01    --*/
/*---Desarrollado por     : Javier Flores A.           --*/
/*---Fecha Creaci«n       : 24/06/1999                 --*/
/*---Base Datos           : Microsoft Sql Server       --*/
/*---Versi«n              : 7.0                        --*/
/*---Invoca a SP          :                            --*/
/*-------------------------------------------------------*/

/*-------------------------------------------------------*/
/*---Modificado 1 por     :                            --*/
/*---Fecha Modificaci«n   :                            --*/ 
/*---Detalle Modificaci«n :                            --*/
/*-------------------------------------------------------*/

/*-------------------------------------------------------*/
/*---Comentarios                                       --*/
/*---                                                  --*/
/*---                                                  --*/
/*-------------------------------------------------------*/

/*-------------------------------------------------------*/
/*---Drop Proc SP_TDMOVI_RECA_I01                 --*/
/*---Grant all on SP_TDMOVI_RECA_I01 to public    --*/ 
/*---SP_TDMOVI_RECA_I01                           --*/
/*-------------------------------------------------------*/
 @ISCO_EMPR TD_VC_002, 
 @ISCO_USUA_MODI TD_VC_008_USUA,
 @ISCO_BANC TD_VC_003, 
 @ISNU_CNTA_BANC TD_VC_020,
 @ISAA_BNCO TD_VC_004, 
 @ISMM_BNCO TD_VC_002, 
 @ISTI_MOVI_BANC TD_VC_001,  
 @ISNU_COMP_BANC TD_VC_008, 
 @INNU_SECU TD_IN_001,
 @INIM_CONV TD_NU_016_004,
 @ISCO_EMPR_DEST TD_VC_002,
 @ISCO_CAJA_DEST TD_VC_008, 
 @ISAA_CAJA_DEST TD_VC_004,
 @ISMM_CAJA_DEST TD_VC_002,
 @ISNU_COMP_DEST TD_VC_008,
 @ISCO_UNID_CNTB TD_VC_003
	As
Declare 
      @VNIM_TOTA TD_NU_016_004, @VNIM_MOVI_ANTE  TD_NU_016_004

 BEGIN TRAN SP_TDMOVI_RECA_D01

   Delete TDMOVI_RECA
   WHERE  CO_EMPR = @ISCO_EMPR 
   and    CO_UNID_CONC = @ISCO_UNID_CNTB
   and    CO_BANC = @ISCO_BANC 
   and    NU_CNTA_BANC = @ISNU_CNTA_BANC  
   and    AA_BNCO = @ISAA_BNCO
   and    MM_BNCO = @ISMM_BNCO
   and    TI_MOVI_BANC = @ISTI_MOVI_BANC
   and    NU_COMP_BANC = @ISNU_COMP_BANC    
   and    NU_SECU = @INNU_SECU

   If @@error <> 0
      Begin
        Rollback tran
        Return
      End


   Select @VNIM_MOVI_ANTE  = Isnull(IM_MOVI,0) 
   FROM   TCMOVI_BANC
   WHERE  CO_EMPR = @ISCO_EMPR 
   and    CO_UNID_CONC = @ISCO_UNID_CNTB
   and    CO_BANC = @ISCO_BANC 
   and    NU_CNTA_BANC = @ISNU_CNTA_BANC  
   and    AA_BNCO = @ISAA_BNCO
   and    MM_BNCO = @ISMM_BNCO
   and    TI_MOVI_BANC = @ISTI_MOVI_BANC
   and    NU_COMP_BANC = @ISNU_COMP_BANC 

--   Select @VNIM_TOTA = Isnull(Sum(Isnull(IM_MOVI,0)),0)
   Select @VNIM_TOTA = Isnull(Sum(Isnull((Case When TI_MOVI = 'A' Then -1 Else 1 End)*IM_MOVI,0)),0)
   From   TDMOVI_RECA
   Where CO_EMPR = @ISCO_EMPR
   and   CO_UNID_CONC = @ISCO_UNID_CNTB
   And   CO_BANC = @ISCO_BANC
   And   NU_CNTA_BANC = @ISNU_CNTA_BANC
   And   AA_BNCO = @ISAA_BNCO
   And   MM_BNCO = @ISMM_BNCO
   And   TI_MOVI_BANC = @ISTI_MOVI_BANC
   And   NU_COMP_BANC = @ISNU_COMP_BANC
            

   Update TCMOVI_BANC
   Set IM_MOVI = Round(@VNIM_TOTA,2),
       CO_USUA_MODI = @ISCO_USUA_MODI, FE_USUA_MODI = getdate()         
   Where CO_EMPR = @ISCO_EMPR 
   and   CO_UNID_CONC = @ISCO_UNID_CNTB
   And   CO_BANC = @ISCO_BANC 
   And   NU_CNTA_BANC = @ISNU_CNTA_BANC 
   And   AA_BNCO = @ISAA_BNCO
   And   MM_BNCO = @ISMM_BNCO 
   And   TI_MOVI_BANC = @ISTI_MOVI_BANC 
   And   NU_COMP_BANC = @ISNU_COMP_BANC 

   If @@error <> 0
      Begin
        Rollback tran
	Return
      End

   Update TCMOVI_CAJA
   Set TI_SITU = 'ANU',
       CO_USUA_MODI = @ISCO_USUA_MODI, FE_USUA_MODI = getdate()         
   Where  CO_EMPR = @ISCO_EMPR_DEST 
   And    CO_CAJA = @ISCO_CAJA_DEST
   And    AA_CAJA = @ISAA_CAJA_DEST
   And    MM_CAJA = @ISMM_CAJA_DEST
   And    TI_MOVI = 'I'
   And    NU_COMP_CAJA = @ISNU_COMP_DEST

   If @@error <> 0
      Begin
        Rollback tran
	Return
      End  
 COMMIT TRAN

/* -------------------------- Fin -----------------------------------*/


GO
